#include<iostream>
#include<cassert>
#include<string>
using namespace std;
#include"Queue.h"
void testqueue1()
{
	q::queue<int, list<int>> q1;
	q1.push(1);
	q1.push(2);
	q1.push(3);
	q1.push(4);
	q1.push(5);
	cout << q1.size() << endl;
	while (!q1.empty())
	{
		cout << q1.top() << " ";
		q1.pop();
	}
	cout << endl;
	q::queue<double, list<double>> q2;
	q2.push(1.1);
	q2.push(2.2);
	q2.push(3.3);
	q2.push(4.4);
	q2.push(5.5);
	cout << q2.size() << endl;
	while (!q2.empty())
	{
		cout << q2.top() << " ";
		q2.pop();
	}
	cout << endl;
	q::queue<string, list<string>> q3;
	q3.push("2.2");
	q3.push("string");
	q3.push("3.3");
	q3.push("4.4");
	q3.push("5.5");
	cout << q3.size() << endl;
	while (!q3.empty())
	{
		cout << q3.top() << " ";
		q3.pop();
	}
	cout << endl;
}
int main()
{
	testqueue1();
	return 0;
}